<template>
    <div style="margin-bottom: 2rem">
        <div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 1rem">
            <div class="caret-right">
                <el-icon size="30" color="rgb(46, 149, 254)">
                    <el-icon-caret-right/>
                </el-icon>
                <el-text>上传图纸</el-text>
            </div>
            <div>
                <lay-button type="primary" @click="openSize1">售后说明
                </lay-button>
                <lay-button type="primary" @click="openSize2">3D模型设计规范
                </lay-button>
                <lay-button type="primary" @click="openSize3">打印须知</lay-button>
            </div>
        </div>
        <multi-upload-file v-model="order.orderDetails" :show-file-list="false"></multi-upload-file>
    </div>

    <div style="margin-bottom: 2rem">
        <div style="margin-bottom: 1rem;display: flex;justify-content: space-between">
            <div class="caret-right">
                <el-icon size="30" color="rgb(46, 149, 254)">
                    <el-icon-caret-right/>
                </el-icon>
                <el-text>文件列表</el-text>
            </div>
            <el-button type="danger" :disabled="selectionIds.length === 0" @click="handleBatchDelete">
                <el-icon><delete/></el-icon>批量删除
            </el-button>
        </div>
        <el-table
            border style="width: 100%" highlight-current-row
            :data="order.orderDetails"
            @selection-change="handleSelectionChange"
            >
            <el-table-column type="selection" width="100" align="center"/>
            <el-table-column type="index"  width="100" align="center"/>
            <el-table-column label="模型预览" min-width="150" align="center">
                <template #default="scope">
                    <el-button link type="primary" @click="openModelDialog(scope.row.model)">{{decodeURI(scope.row.model.split('/').slice(-1)[0])}}</el-button>
                </template>
            </el-table-column>
            <el-table-column label="参数信息" min-width="150" align="center">
                <template #default="scope">
                    <popup-form v-model="scope.row.material"/>
                    <div v-if="scope.row.material" style="display: grid;grid-template-columns: 1fr;margin-top: 20px">
                        <div style="display: grid;grid-template-columns: 1fr 1fr;">
                            <el-text>材料： {{ scope.row.material.name}}</el-text>
                            <el-text>颜色： {{ scope.row.material.color}}</el-text>
                            <el-text>单价： {{ scope.row.material.price}}</el-text>
                            <el-text>精度： {{ scope.row.material.materialPrecision}}</el-text>
                        </div>
                        <el-text>介绍： {{ scope.row.material.remarks}}</el-text>
                    </div>
                    <el-text v-else tag="b" >请选择</el-text>
                </template>
            </el-table-column>
            <el-table-column prop="quantity" width="200" label="数量" align="center">
                <template #default="scope">
                    <el-input-number v-model.trim="scope.row.quantity" :min="1" placeholder="整数"/>
                </template>
            </el-table-column>
            <el-table-column label="操作" width="150" align="center">
                <template #default="scope">
                    <el-button link type="primary" @click="handleDelete(scope.$index)">
                        <el-icon><delete/></el-icon>删除
                    </el-button>
                </template>
            </el-table-column>
        </el-table>
    </div>
    <el-button type="primary" @click="handleOrder" style="display:block;margin:0 auto">
        立即下单
    </el-button>
    <preview-model v-model="dialog.visible" :url="dialog.url"/>
</template>
<script setup>

import {layer} from "@layui/layui-vue"
import MultiUploadFile from "@/views/quotation/components/MultiUploadFile.vue";
import PopupForm from "@/views/quotation/components/PopupForm.vue";
import {reactive, ref} from "vue";
import PreviewModel from "@/components/preview-model.vue";
import {Delete} from "@element-plus/icons-vue";
import {useOrderDetailsStore} from "@/stores/order.js";
import {useRouter} from "vue-router";

const orderDetailsStore = useOrderDetailsStore();
const router = useRouter()
const openSize1 = function () {
    layer.open({
        type: 1,
        title: "售后说明",
        isHtmlFragment: true,
        area: ['1000px', '750px'],
        content:
            "    <div data-v-07869d6e=\"\" style=\"padding: 1rem 1rem\"><h1 style=\"line-height:30px;\"><span style=\"font-size:16px;\">质量处理约定说明</span>\n" +
            "    </h1>\n" +
            "        <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">一、为了保证您的权益，给出以下建议：</strong></p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">1、在开箱验货时需保留好开箱视频，签收时请一定当快递配送员面确认商品外观、商品数量、商品规格等问题。</span>\n" +
            "        </p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">2、建议尽量不要委托他人代为签收或在配送人员未在场的情况下验收。</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">3、请签收产品后，第一时间打开包装存放于通风、干燥、温度适中、避光之处，不正确的存放可能造成不良的后果。</span>\n" +
            "        </p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">4、签收后3天内，如发现质量问题，请联系工作人员处理。</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">5、强烈建议上传STL文件，非STL文件可能会因版本不兼容出现生产问题，如因此出现生产问题，客户与我司双方各承担一半责任！</span>\n" +
            "        </p>\n" +
            "        <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">二、退款/补料说明：</strong></p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">1、如少件、坏件、变形件等质量问题，需在收到件3天内申请售后处理。经核实为我司原因，将在2小时内办理退款/补料。</span>\n" +
            "        </p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">2、退款金额仅支持退至平台预付款账户，订单已使用的优惠券不支持退回。</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">3、因我司原因导致的质量问题仅赔偿问题模型本身的费用，不承担其他连带责任。</span></p>\n" +
            "        <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">三、免责说明：</strong></p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">1、不符合《3D模型设计规范》准则的，视为客户极限测试，不接受售后退换货。</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">2、以下情况不属于退换货范畴：</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">&nbsp;&nbsp;a、产品签收后由于存放不当产生的受潮、变色、变形等情况；</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">&nbsp;&nbsp;b、已使用过的产品；</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">&nbsp;&nbsp;c、装配件设计未留公差间隙，导致不能装配；</span>\n" +
            "        </p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">&nbsp;&nbsp;d、误差在综合精度以内的工件（关于综合精度：树脂材料综合精度0.2MM或0.3%以内，尼龙材料综合精度0.3MM或0.4%以内，金属材料综合精度0.3MM或0.4%以内，工程塑料材料综合精度0.3MM或0.4%以内）；</span>\n" +
            "        </p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">&nbsp;&nbsp;e、树脂轻微变形的工件；</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">&nbsp;&nbsp;f、其他由于用户原因造成的；</span></p>\n" +
            "        <p style=\"line-height:30px;\"><span\n" +
            "                style=\"font-size:16px;\">3、收到件后没有在3天内联系并提交售后申请的我司将不再接受投诉。</span></p></div>"
    })
}
const openSize2 = function () {
    layer.open({
        type: 1,
        title: "3D打印模型设计规范",
        isHtmlFragment: true,
        area: ['1000px', '800px'],
        content: "<div data-v-07869d6e=\"\" style=\"padding: 1rem 1rem\">\n" +
            "    <p style=\"line-height:30px;\">\n" +
            "        <span style=\"font-size:16px;\">因生产材料与工艺的不同，为达到更好的模型打印效果，建议用户参考《3D打印模型设计规范》进行设计。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">一、不同材料最小壁厚要求</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\"> 模型打印完成后要经过酒精清洗、去支撑、打磨喷砂等工序，所以需要一定的强度，厚度决定工件的强度。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\">推荐模型壁厚2MM打印效果较好；设计模型出现薄壁时，请参考以上标准。</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 凸起定位、卡扣等结构推荐壁厚1.5mm以上。</span></p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">二、螺纹设计要求</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">影响非标螺纹3d打印的主要两个因素：螺距和牙型角</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> </span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 螺纹配合间隙需要参考模型间隙，设计无间隙配合会出现装配不了或者装配困难，316L金属打印建议攻牙；标准螺丝最小为M6粗牙。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">三、模型间隙&nbsp;</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">1、装配间隙（装配件，螺纹配合）</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\"> 设计模型为装配体，请务必满足装配最小的间隙要求，否则会出现装配过紧，不好拆卸，或者装配不上现象。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">2、一体成型可活动模型间隙&nbsp;</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\">&nbsp;&nbsp;&nbsp;&nbsp;模型一体打印活动关节需要遵循一定要求</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\">&nbsp;&nbsp;&nbsp;&nbsp;以上是简单结构的单边最小间隙，并非所有结构都适用。</span></p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">四、镂空设计逸料孔大小要求</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\"> 模型如果设计是镂空的，需要在合适的面设计逸料孔，以排出内腔未固化的树脂如下所示：</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 1、逸料孔最小直径是2.5mm；</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\"> 2、当逸料孔直径设计小于3mm时需要设计两个孔，否则树脂流不出来和腔体清洗不干净一段时间后工件可能会出现破裂；</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 3、逸料孔的大小数量适合需根据模型来确定；</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 4、空腔里面的支撑没办法去除，除非逸料孔设计的足够大；</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">五、微孔深度设计要求(盲孔、深孔、通孔)</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">模型设计有微孔深孔时，请参考以上标准。</span><span\n" +
            "            style=\"font-size:16px; color:rgb(230, 0, 0);\">喷漆喷油件，孔径需要2mm以上</span><span style=\"font-size:16px;\">，避免孔内材料残留、堵塞等情况。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">各类材料孔径的公差说明：</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">1. 树脂 </strong><span style=\"font-size:16px;\">：±0.3mm, 树脂孔一般会收缩在0.3mm以内.</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">2. 尼龙 </strong><span style=\"font-size:16px;\">：±0.3mm, 尼龙孔打印出来误差在±0.1mm-0.2mm，受摆放位置和冷却的影响，孔综合公差一般也会收缩在0.3mm以内.&nbsp;</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">3.工程塑料</strong><span style=\"font-size:16px;\">：±0.4mm，ABS一般孔会收缩0.2mm到0.4mm左右。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:16px;\">4. 金属</strong><span style=\"font-size:16px;\">：±0.5mm，实体内部有空缺结构的尺寸公差在-0.5mm以内&nbsp;(如圆环、套筒、孔类零件的内径尺寸公差-0.5mm；壳体内部长宽尺寸公差-0.5mm)，孔壁越厚，孔收缩越大</span>。\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">说明 ：</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">1）通常孔一般都是收缩变小的， 变大的情况较少。</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\">2）金属件，如果客户对孔的公差要求较高，建议预留加工余量，后期自行精加工处理。</span></p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">六、小柱子设计要求</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> </span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">模型设计有定位柱时，请参考以上标准</span></p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">七、异形件</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 异形件主要以镂空结构为主占用空间大，如下图所示：</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\"> 当设计为异形件且符合打印要求，会适当增加一定特殊费用。</span></p>\n" +
            "    <p style=\"line-height:normal;\"><strong style=\"font-size:20px;\">八、拼接件设计要求</strong></p>\n" +
            "    <p style=\"line-height:normal;\"><span\n" +
            "            style=\"font-size:16px;\">我司强烈建议用户遵循一个文件一个零件的打印原则，这样能有更多样化的编程、摆放方式，能打印出更好的外观以及尺寸精度。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:normal;\"><span style=\"font-size:16px;\">如做拼接件打印，需对打印效果要求不高，连接杆壁厚需大于1.5MM，单个文件连接数量少于10件，并且能接受变形、明显层纹、尺寸误差较大、断裂缺失、表面质量差等风险打印。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px; color:rgb(255, 0, 0);\">拼接模型打印不支持打印工程塑料和金属材料。</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px; color:rgb(255, 0, 0);\">拼接模型数量在2个（包括2个）以上，按单个模型0.5元/个加收费用，如下图5个小零件拼接在一起，加收费用5 x 0.5=2.5元。</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><strong style=\"font-size:20px;\">﻿九、精度知识&nbsp;</strong><strong\n" +
            "            style=\"font-size:16px;\">（不变形、未喷油喷漆情况）</strong></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 树脂材料精度：100MM以内±0.2MM，100MM以上±0.3%；</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 尼龙材料精度：100MM以内±0.3MM，100MM以上±0.4%；</span></p>\n" +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\"> 工程塑料材料精度：100MM以内±0.3MM，100MM以上±0.4%；</span>\n" +
            "    </p>\n" +
            "    <p style=\"line-height:30px;\"><span\n" +
            "            style=\"font-size:16px;\"> 金属材料精度：100MM以内±0.3MM，100MM以上±0.4%（和模型结构尺寸大小有关）；</span></p>\n" +
            "</div>"
    })
}
const openSize3 = function () {
    layer.open({
        type: 1,
        title: "3D打印须知-下单前必看",
        isHtmlFragment: true,
        area: ['1000px', '800px'],
        content: "<div data-v-07869d6e=\"\" style=\"padding: 1rem 1rem\"><p style=\"line-height:30px;\"></p> " +
            "    <p style=\"line-height:30px;\"><strong style=\"color:rgb(53, 53, 53); font-size:16px;\">尊敬的3D打印客户：</strong> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\"> 为避免出现不必要的纠纷，我们强烈建议您在下单前，仔细阅读以下打印须知，这将有利于缩短您的订单处理时间，提高打印成功率和打印时效，节省您宝贵的时间和金钱！</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">&nbsp;</span></p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\">一、为了更准确的打印以及避免不必要的纠纷，</span><span " +
            "            style=\"color:rgb(230, 0, 0); font-size:16px;\">强烈建议上传STL格式文件</span><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\">！</span></p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">二、支持的3D格式：stl/obj/gltf,单次上传文件</span><span " +
            "            style=\"color:rgb(17, 17, 17); font-size:16px;\">≤20</span><strong " +
            "            style=\"color:rgb(17, 17, 17); font-size:16px;\">，</strong><span style=\"color:rgb(17, 17, 17); font-size:16px;\">单个文件大小≤100M。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(17, 17, 17); font-size:16px;\">三、模型壁厚对打印成功率影响很大，通常要求壁厚需大于1.2MM，局部薄壁不低于0.8MM。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\">四、为提高打印准确性，禁止一个文件内放多个模型或成套装配图。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">五、首次下单请先了解材料特性及介绍，请让工艺工程师详细阅读《3D打印模型设计规范》。依据规范合理的设计壁厚、孔径，有利于提高打印成功率。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">六、材料特性说明：树脂材料打印精度最高、表面最细腻，材料性能稍弱，适合做外观件。尼龙材料精度适中，材料性能好，表面有粉末颗粒感，适合做功能件。工程塑料精度稍差，材料性能强，表面有层纹，适合做结构件。金属材料精度适中，表面有麻点，适合做结构件。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"font-size:16px;\">七、关于色差：生产中因材料批次、温度、激光功率，或者产品壁厚不同等原因使产品呈现的色差，属于正常情况，不影响材料性能。如对产品颜色有严格要求，建议您下单前咨询客服或选择喷漆服务。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">八、关于拆单：订单会根据提交时不同材料、不同交期进行拆分单处理；提交订单零件大于10个时也会进行拆分单。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">九、市场接单时间安排：</span></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\"> 1）</span><span " +
            "            style=\"color:rgb(35, 35, 35); font-size:16px;\">周一至周五：&nbsp;上午9：00-12：00 下午13：30-23：30</span></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(35, 35, 35); font-size:16px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;周六至周日：&nbsp;上午9：00-12：00 下午13：30-19：00</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\"> 2）法定节假日接单安排以公司通告时间为准。</span></p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\"> 3）工厂做货是24小时开工，周日不休息。</span></p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十、订单处理说明：</span></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\"> 1）因3D打印需要排版生产，付款当天不算交期，但是越早付款，可以越早安排，交期也更有保障。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\"> 2）24小时交期是指：今天20点前付款，明天22点前发货。</span></p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\"> 3）48小时交期是指：今天20点前付款，后天22点前发货。以此类推。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\"> 4）法定节假日生产交期安排以公司通告时间为准。</span></p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十一、下单成功后，在上班时间内，我方将第一时间对您的订单进行审核，审核时间大约为10-60分钟左右，审核好后请及时进行确认，因为越早确认，越早安排生产，对您的交期越有保障，这样能实时得到审核好的信息及发货信息！</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十二、关于取消订单：当您发现文件有问题要取消订单时，订单没有安排排版或正在排版时，可以联系业务员沟通取消，订单款项将退至预付款账户。如果订单已排版或已上机打印，则无法取消订单。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十三、树脂材料容易收缩变形，并且不耐高温，运输途中及使用过程中可能会有尺寸变化或者受热变形。</span><span " +
            "            style=\"color:rgb(230, 0, 0); font-size:16px;\">请结合实际用途合理选择打印材料</span><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\">。如遇到模型有轻微变形，可使用热水或热风枪软化变形区域进行较正。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\">十四、关于材料精度（不变形、未喷油喷漆情况）：</span><span " +
            "            style=\"font-size:16px;\">树脂材料精度100MM以内±0.2MM，100MM以上±0.3%；尼龙材料精度100MM以内±0.3MM，100MM以上±0.4%；工程塑料材料精度100MM以内±0.3MM，100MM以上±0.4%；金属材料精度100MM以内±0.3MM，100MM以上±0.4%（和模型结构尺寸大小有关）。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十五、请收货时第一时间拆包检查工件情况，如有问题请及时拍照反馈给售后处理。自快递显示签收3日内我司可接受少件、变形、坏件处理。3日后将无法受理。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span " +
            "            style=\"color:rgb(53, 53, 53); font-size:16px;\">十六、售后问题依据《质量处理约定协议》执行。</span></p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十七、加收费用说明：常规是按工件重量收费，但有些工件打印占用大量空间，而重量很轻；有些打印件需要大量支撑；有些打印件小需要打印备份；有些订单需占用大量后处理资源。这些件不能以简单的重量计价。所以针对异形件、大体积件等特殊情况，我们会视情况加收费用。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十八、交期顺延说明：</span></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1）异形件、大体积工件需加1-2天交期。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2）批量单、拼接件订单，视订单数量顺延交期。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3）工厂限单、故障等情况以公司通告为准。</span> " +
            "    </p> " +
            "    <p style=\"line-height:30px;\"><br></p> " +
            "    <p style=\"line-height:30px;\"><span style=\"color:rgb(53, 53, 53); font-size:16px;\">十九、</span><span " +
            "            style=\"font-size:16px;\">严禁利用3D打印平台下单生产违禁产品，如管制刀具、枪支弹药等具有伤害性的物品。一经发现，立即封号并上报公安局。感谢您的支持与合作！</span> " +
            "    </p> " +
            "</div>"
    })
}

const order = ref({
    payment:0,
    remarks:"",
    status:0,
    cancel:0,
    orderDetails:[]
})
const selectionIds = ref([]);
/** 模型预览弹窗 */
const dialog = reactive({
    visible:false,
    url:""
})
const openModelDialog = url =>{
    dialog.visible = true;
    dialog.url=url
}

/** 行checkbox 选中事件 */
const handleSelectionChange = selection => {
    selectionIds.value = selection.map((item) => item.uid);
}
const handleDelete = index =>{
    order.value.orderDetails.splice(index,1)
}
/** 批量删除 */
const handleBatchDelete = () => {
    ElMessageBox.confirm("确认删除已选中的数据项?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
    }).then(() => {
        order.value.orderDetails = order.value.orderDetails.filter(value => {
            return selectionIds.value.indexOf(value.uid )===-1
        })
    });
}
/** 处理订单 */
const handleOrder = () => {
    if(order.value.orderDetails.length === 0) ElMessage.warning("模型文件不能为空");
    else{
        for(let i in order.value.orderDetails){
            if(!order.value.orderDetails[i].material){
                ElMessage.warning(`请选择第${Number(i)+1}个模型文件的参数信息`);
                return
            }
        }
        orderDetailsStore.order = order.value
        const { href } = router.resolve({name:"muterorder"})
        window.open(href)
    }
}
</script>

<style scoped>
.caret-right {
    display: flex;
    align-items: center;
}
</style>